package com.bjb.vr.common.dto;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * 
 * @TableName sys_upgrade
 */
@TableName(value ="sys_upgrade")
@Data
public class SysUpgrade extends BaseModel implements Serializable {
    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 升级客户
     */
    @TableField(value = "tenant_id")
    private String tenantId;

    /**
     * 数据ID用于同步
     */
    @TableField(value = "data_id", fill = FieldFill.INSERT)
    private Long dataId;

    /**
     * 升级类型（前置机、一体机）
     */
    @TableField(value = "type")
    private String type;

    /**
     * 升级包名称
     */
    @TableField(value = "package_name")
    private String packageName;

    /**
     * 升级版本
     */
    @TableField(value = "version")
    private String version;

    /**
     * 升级包大小（单位M）
     */
    @TableField(value = "package_size")
    private Integer packageSize;

    /**
     * 升级包类型（zip：前后端服务；apk：一体机服务）
     */
    @TableField(value = "package_type")
    private String packageType;

    /**
     * 发布状态：0 未发布 1 已发布
     */
    @TableField(value = "publish_status")
    private Integer publishStatus;

    /**
     * 是否强制升级（0 否 1 是）
     */
    @TableField(value = "force_upgrade")
    private Integer forceUpgrade;

    /**
     * 是否升级完成：0 未升级 1 已升级
     */
    @TableField(value = "complete")
    private Integer complete;

    /**
     * web页面下载地址
     */
    @TableField(value = "web_url")
    private String webUrl;

    /**
     * server端下载地址（包括前置机jar和一体机apk）
     */
    @TableField(value = "server_url")
    private String serverUrl;

    /**
     * 时间戳，用来校验唯一性
     */
    @TableField(value = "timestamp")
    private String timestamp;

    /**
     * 更新内容
     */
    @TableField(value = "remarks")
    private String remarks;

    /**
     * 创建人
     */
    @TableField(value = "creator", fill = FieldFill.INSERT)
    private String creator;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    @TableField(value = "gmt_create", fill = FieldFill.INSERT)
    private LocalDateTime gmtCreate;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")
    @TableField(value = "gmt_modified", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime gmtModified;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}